package com.devops.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.devops.admin.model.DOSApplyYaml;
import com.devops.admin.po.DOSHelmOperationPo;
import com.devops.admin.vo.DOSApplyYamlVo;
import com.devops.common.utils.Message;

/**
 * @ClassName DOSApplyYamlService
 * @Description TODO
 * @Author hepingguo
 * @Date 2022/7/14 16:16
 **/
public interface DOSApplyYamlService extends IService<DOSApplyYaml> {

    /**
     * @Author heyabo
     * @Description 使用yaml部署项目
     * @Date 17:47 2022/7/14
     * @Param [applyYaml]
     * @return com.devops.admin.po.DOSHelmOperationPo
     **/
    Message applyByYaml(DOSApplyYamlVo applyYaml);

    /**
     * @Author heyabo
     * @Description 查询labels
     * @Date 11:01 2022/7/15
     * @Param [releaseId]
     * @return java.lang.String
     **/
    DOSApplyYaml getLabels(Integer releaseId);

    /**
     * @Author heyabo
     * @Description 回滚到指定的历史版本
     * @Date 11:15 2022/7/19
     * @Param [applyYaml]
     * @return java.lang.Boolean
     **/
    Message rollBackHistory(DOSApplyYamlVo applyYaml);

    /**
     * @Author heyabo
     * @Description 删除yaml部署的项目
     * @Date 17:41 2022/7/25
     * @Param [applyYaml]
     * @return com.devops.common.utils.Message
     **/
    Message deleteByYaml(DOSApplyYamlVo applyYaml);

    /**
     * @Author heyabo
     * @Description 升级项目
     * @Date 17:15 2022/8/2
     * @Param [applyYaml]
     * @return com.devops.common.utils.Message
     **/
    Message upgradeByYaml(DOSApplyYamlVo applyYaml);
}
